package com.itheima.health.controller.mobile;

import com.itheima.health.constant.MessageConstant;
import com.itheima.health.entity.Result;
import com.itheima.health.pojo.Setmeal;
import com.itheima.health.service.SetmealService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController("mobileSetmealController")
@RequestMapping("/mobile/setmeal")
public class SetmealController {
    @Autowired
    private SetmealService setmealService;

    /**
     * 获取所有套餐信息
     * @return 统一响应结果，包含所有套餐信息
     */
    @RequestMapping("/getSetmeal.do")
    public Result getSetmeal() {
        // 1.调用业务层获取所有套餐信息
        List<Setmeal> list = setmealService.findAll();

        // 2.响应统一结果Result
        return new Result(true, MessageConstant.GET_SETMEAL_LIST_SUCCESS, list);
    }

    /**
     * 根据id查询套餐信息
     * @param id 套餐id
     * @return 统一响应结果，包含一条套餐信息，包含所有的检查组和检查项
     */
    @RequestMapping("/findFullSetmealById.do")
    public Result findFullSetmealById(Integer id) {
        // 1.调用业务层根据套餐获取一条套餐信息，包含所有的检查组和检查项
        Setmeal setmeal = setmealService.findFullSetmealById(id);

        // 2.响应统一结果Result，包含一条套餐信息
        return new Result(true, MessageConstant.QUERY_SETMEAL_SUCCESS, setmeal);
    }
    /**
     * 根据预约id查询预约信息，包括套餐信息和会员信息
     * @param id 预约id
     * @return 预约信息，使用Map保存前端需要的数据， member, setmeal, dorderDate, orderType
     */
    @RequestMapping("/findById.do")
    public Result findById(Integer id){
        // 调用mapper根据预约id查询信息
        Setmeal setmeal = setmealService.findById(id);

        return new Result(true,MessageConstant.QUERY_ORDER_SUCCESS, setmeal);
    }
}